package com.gjy.redis.annotation;

import com.gjy.redis.domain.RedisLockPrefix;

import java.lang.annotation.*;

/**
 * @author gjy
 * @version 1.0
 * @since 2025-06-27 09:11:10
 */
@Target(ElementType.METHOD)
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface RedisLock {

    /**
     * 加锁key值
     */
    RedisLockPrefix prefix();

    /**
     * 超时时间,单位秒
     */
    long timeout() default -1;

    /**
     * 参数
     */
    String args() default "#args";

    /**
     * 加锁的值
     */
    String value() default "#value";

    /**
     * 加锁提示语
     */
    String msg() default "执行中，请稍后再试";

}
